package com.magic.smartcity.view.more.models.services

import com.magic.smartcity.beans.BusLineBean
import com.magic.smartcity.beans.BusLineStopBean
import com.magic.smartcity.beans.BusOrderBean
import com.magic.smartcity.beans.pojo.ResultData
import com.magic.smartcity.beans.pojo.ResultList
import io.reactivex.rxjava3.core.Observable
import retrofit2.http.*

interface BusService {

    /**
     * 获取巴士所有线路
     */
    @GET("/prod-api/api/bus/line/list")
    fun getLineList(): Observable<ResultList<BusLineBean>>

    /**
     * 获取巴士指定线路
     */
    @GET("/prod-api/api/bus/line/{id}")
    fun getLineById(@Path("id") busId: Int): Observable<ResultData<BusLineBean>>

    /**
     * 获取巴士所有站点
     */
    @GET("/prod-api/api/bus/stop/list")
    fun getLineStationList(): Observable<ResultList<BusLineStopBean>>

    /**
     * 获取巴士指定线路的所有站点
     */
    @GET("/prod-api/api/bus/stop/list")
    fun getLineStationByLineId(@Query("linesId") lineId: Int): Observable<ResultList<BusLineStopBean>>

    /**
     * 查询用户全部订单
     */
    @GET("/prod-api/api/bus/order/list")
    fun getOrderList(): Observable<ResultList<BusOrderBean>>

    /**
     * 新增乘车订单
     */
    @POST("/prod-api/api/bus/order")
    fun addOrder(@Body busOrderBean: BusOrderBean): Observable<ResultData<BusOrderBean>>

    /**
     * 支付订单
     */
    @POST("/prod-api/api/bus/pay")
    fun payOrder(@Body busOrderBean: BusOrderBean): Observable<ResultData<BusOrderBean>>

}